package com.itheima.mapper;

import com.itheima.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

public interface UserMapper {
    User findUserByUsername(String username);

    Set<Role> findRolesByUserId(Integer userId);

    Set<Permission> findPermissionByRoleId(Integer roleId);

    /*------------------------项目实战------------------------------------*/

    User findByUserName(@Param("username") String username);

    void add(User user);

    List<User> findPage(@Param("queryString") String queryString);

    String findUsernameByUserId(@Param("userId") Integer userId);

    void delete(@Param("id") Integer id);

    void edit(User user);

    void setUserAndRoles(@Param("userId") Integer userId, @Param("roleIds") Integer[] roleIds);

    void deleteUserAndRoles(@Param("userId") Integer userId);

    List<Integer> findRoleIdsByUserId(@Param("userId") Integer userId);

    User findByUserId(@Param("userId") Integer userId);

    List<Integer> findAllByUserIdToMenuId(@Param("id") Integer id);

    MenuTitle findAllFaByMenuId(@Param("menuId") Integer menuId);

    MenuTitle findAllChByMenuId(@Param("menuId") Integer menuId);
}
